home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 July: Mac OS SDK / Dev.CD Jul 97 SDK1.toast / Development Kits (Disc 1) / Communications Toolbox / CommToolbox 1.1 / Interfaces / PInterfaces / Terminals.p < prev    next >
Encoding:
Text File  |  1994-11-21  |  7.1 KB  |  265 lines  |  [TEXT/MPS ]

  1. {************************************************************
  2.     Terminals.p
  3.     Pascal Interface to the Macintosh Libraries
  4.  
  5.         Copyright Apple Computer, Inc. 1988-1991
  6.         All rights reserved
  7. ************************************************************}
  8.  
  9.  
  10. {$IFC UNDEFINED UsingIncludes}
  11. {$SETC UsingIncludes := 0}
  12. {$ENDC}
  13.  
  14. {$IFC NOT UsingIncludes}
  15.     UNIT Terminals;
  16.     INTERFACE
  17. {$ENDC}
  18.  
  19. {$IFC UNDEFINED UsingTerminals}
  20. {$SETC UsingTerminals := 1}
  21.  
  22. {$I+}
  23. {$SETC TerminalsIncludes := UsingIncludes}
  24. {$SETC UsingIncludes := 1}
  25. {$IFC UNDEFINED UsingDialogs}
  26. {$I $$Shell(PInterfaces)Dialogs.p}
  27. {$ENDC}
  28. {$IFC UNDEFINED UsingCTBUtilities}
  29. {$I $$Shell(PInterfaces)CTBUtilities.p}
  30. {$ENDC}
  31. {$IFC UNDEFINED UsingConnections}
  32. {$I $$Shell(PInterfaces)Connections.p}
  33. {$ENDC}
  34. {$SETC UsingIncludes := TerminalsIncludes}
  35.  
  36. CONST
  37.  
  38. { current Terminal Manager version }
  39. curTMVersion            =    2;
  40.  
  41. { current Terminal Manager Environment Record version }
  42. curTermEnvRecVers        =    0;
  43.  
  44. { error codes    }
  45. tmGenericError            =    -1;
  46. tmNoErr                    =    0;
  47. tmNotSent                =    1;
  48. tmEnvironsChanged        =    2;
  49. tmNotSupported            =    7;
  50. tmNoTools                =    8;
  51.  
  52. TYPE
  53. TMErr = OSErr;
  54.  
  55. CONST
  56.  
  57. { TMFlags }
  58. tmInvisible                =    $00000001;
  59. tmSaveBeforeClear        =    $00000002;
  60. tmNoMenus                =    $00000004;
  61. tmAutoScroll            =    $00000008;
  62. tmConfigChanged            =    $00000010;
  63.  
  64. TYPE
  65. {  TMFlags   }
  66. TMFlags                =    LONGINT;
  67.  
  68.  
  69. CONST
  70.  
  71. { TMSelTypes & TMSearchTypes }
  72. selTextNormal            =    $0001;
  73. selTextBoxed            =    $0002;
  74. selGraphicsMarquee        =    $0004;
  75. selGraphicsLasso        =    $0008;
  76. tmSearchNoDiacrit        =    $0100;    {These are only for TMSearchTypes}
  77. tmSearchNoCase            =    $0200;    {These are only for TMSearchTypes}
  78.  
  79. TYPE
  80. {  TMSelTypes & TMSearchTypes  }
  81. TMSearchTypes        =    INTEGER;
  82.  
  83.  
  84. TMSelTypes            =    INTEGER;
  85.  
  86. CONST
  87.  
  88. { TMCursorTypes }
  89. cursorText                =    1;
  90. cursorGraphics            =    2;
  91.  
  92. TYPE
  93. TMCursorTypes        =    INTEGER;
  94.  
  95.  
  96. CONST
  97.  
  98. { TMTermTypes }
  99. tmTextTerminal            =    $0001;
  100. tmGraphicsTerminal        =    $0002;
  101.  
  102. TYPE
  103. {  TMTermTypes   }
  104. TMTermTypes            =    INTEGER;
  105.     
  106.  
  107. TermDataBlockPtr    = ^TermDataBlock;
  108. TermDataBlockH        = ^TermDataBlockPtr;
  109. TermDataBlock        =    RECORD
  110.     flags:         TMTermTypes;
  111.     theData:     Handle;
  112.     auxData:     Handle;
  113.     reserved:     LONGINT;
  114.  END;
  115.  
  116. TermEnvironPtr        =    ^TermEnvironRec;
  117. TermEnvironRec        =    RECORD
  118.     version:    INTEGER;
  119.     termType:    TMTermTypes;
  120.     textRows:    INTEGER;
  121.     textCols:    INTEGER;
  122.     cellSize:    Point;
  123.     graphicSize:    Rect;
  124.     slop:    Point;
  125.     auxSpace:    Rect;
  126.  END;    
  127.     
  128. TMSelection            =    RECORD
  129.     CASE INTEGER OF
  130.         1: (selRect:    Rect);
  131.         2: (selRgnHandle:    RgnHandle;
  132.             filler:    LONGINT);
  133.         END;
  134.  
  135. {    TMTermTypes     }
  136. TermPtr                =    ^TermRecord;
  137. TermHandle            =    ^TermPtr;
  138. TermRecord            =    RECORD
  139.     procID:    INTEGER;
  140.     flags:        TMFlags;
  141.     errCode:    TMErr;
  142.     refCon:        LONGINT;
  143.     userData:    LONGINT;
  144.     defProc:    ProcPtr;
  145.     config:        Ptr;
  146.     oldConfig:    Ptr;
  147.     environsProc:    ProcPtr;
  148.     reserved1:    LONGINT;
  149.     reserved2:    LONGINT;
  150.     tmPrivate:    Ptr;
  151.     sendProc:    ProcPtr;
  152.     breakProc:    ProcPtr;
  153.     cacheProc:    ProcPtr;
  154.     clikLoop:    ProcPtr;
  155.     owner:        WindowPtr;
  156.     termRect:    Rect;
  157.     viewRect:    Rect;
  158.     visRect:    Rect;
  159.     lastIdle:    LONGINT;
  160.     selection:    TMSelection;
  161.     selType:    TMSelTypes;
  162.     mluField:    LONGINT;
  163.  END;
  164.  
  165.  
  166. {    application routines type definitions }
  167. TerminalSendProcPtr = ProcPtr;
  168. TerminalBreakProcPtr = ProcPtr;
  169. TerminalCacheProcPtr = ProcPtr;
  170. TerminalSearchCallBackProcPtr = ProcPtr;
  171. TerminalClikLoopProcPtr = ProcPtr;
  172. TerminalEnvironsProcPtr = ProcPtr;
  173. TerminalChooseIdleProcPtr = ProcPtr;
  174.  
  175. FUNCTION     InitTM: TMErr;
  176. FUNCTION     TMGetVersion(hTerm: TermHandle): Handle;
  177. FUNCTION     TMGetTMVersion: INTEGER;
  178.  
  179. FUNCTION      TMNew(termRect: Rect;viewRect: Rect;flags: TMFlags;procID: INTEGER;
  180.             owner: WindowPtr;sendProc: TerminalSendProcPtr;cacheProc: TerminalCacheProcPtr;
  181.             breakProc: TerminalBreakProcPtr;clikLoop: TerminalClikLoopProcPtr;environsProc: TerminalEnvironsProcPtr;
  182.             refCon: LONGINT;userData: LONGINT): TermHandle;
  183.             
  184. PROCEDURE     TMDispose(hTerm: TermHandle);
  185.  
  186. PROCEDURE     TMKey(hTerm: TermHandle;theEvent: EventRecord);
  187. PROCEDURE     TMUpdate(hTerm: TermHandle;visRgn: RgnHandle);
  188. PROCEDURE     TMPaint(hTerm: TermHandle;theTermData: TermDataBlock;theRect: Rect);
  189. PROCEDURE     TMActivate(hTerm: TermHandle;activate: BOOLEAN);
  190. PROCEDURE     TMResume(hTerm: TermHandle;resume: BOOLEAN);
  191. PROCEDURE     TMClick(hTerm: TermHandle;theEvent: EventRecord);
  192. PROCEDURE     TMIdle(hTerm: TermHandle);
  193.  
  194. FUNCTION      TMStream(hTerm: TermHandle;theBuffer: Ptr;theLength: LONGINT;flags: CMFlags): LONGINT;
  195. FUNCTION      TMMenu(hTerm: TermHandle;menuID: INTEGER;item: INTEGER): BOOLEAN;
  196.  
  197. PROCEDURE     TMReset(hTerm: TermHandle);
  198. PROCEDURE     TMClear(hTerm: TermHandle);
  199.  
  200. PROCEDURE     TMResize(hTerm: TermHandle;newViewRect: Rect);
  201.  
  202. FUNCTION      TMGetSelect(hTerm: TermHandle;theData: Handle;VAR theType: ResType): LONGINT;
  203. PROCEDURE     TMGetLine(hTerm: TermHandle;lineNo: INTEGER;VAR theTermData: TermDataBlock);
  204. PROCEDURE     TMSetSelection(hTerm: TermHandle;theSelection: TMSelection;selType: TMSelTypes);
  205.  
  206. PROCEDURE     TMScroll(hTerm: TermHandle;dh: INTEGER;dv: INTEGER);
  207.  
  208. FUNCTION      TMValidate(hTerm: TermHandle): BOOLEAN;
  209. PROCEDURE     TMDefault(VAR theConfig: Ptr;procID: INTEGER;allocate: BOOLEAN);
  210.  
  211. FUNCTION      TMSetupPreflight(procID: INTEGER;VAR magicCookie: LONGINT): Handle;
  212. PROCEDURE     TMSetupSetup(procID: INTEGER;theConfig: Ptr;count: INTEGER;theDialog: DialogPtr;
  213.             VAR magicCookie: LONGINT);
  214. FUNCTION      TMSetupFilter(procID: INTEGER;theConfig: Ptr;count: INTEGER;theDialog: DialogPtr;
  215.             VAR theEvent: EventRecord;VAR theItem: INTEGER;VAR magicCookie: LONGINT): BOOLEAN;
  216. PROCEDURE     TMSetupItem(procID: INTEGER;theConfig: Ptr;count: INTEGER;theDialog: DialogPtr;
  217.             VAR theItem: INTEGER;VAR magicCookie: LONGINT);
  218. PROCEDURE     TMSetupXCleanup(procID: INTEGER;theConfig: Ptr;count: INTEGER;
  219.  theDialog: DialogPtr;OKed: BOOLEAN;VAR magicCookie: LONGINT);
  220. PROCEDURE     TMSetupPostflight(procID: INTEGER);
  221.  
  222. FUNCTION      TMGetConfig(hTerm: TermHandle): Ptr;
  223. FUNCTION      TMSetConfig(hTerm: TermHandle;thePtr: Ptr): INTEGER;
  224.  
  225. FUNCTION      TMIntlToEnglish(hTerm: TermHandle;inputPtr: Ptr;VAR outputPtr: Ptr;
  226.             language: INTEGER): OSErr;
  227. FUNCTION      TMEnglishToIntl(hTerm: TermHandle;inputPtr: Ptr;VAR outputPtr: Ptr;
  228.             language: INTEGER): OSErr;
  229.             
  230. PROCEDURE     TMGetToolName(id: INTEGER;VAR name: Str255);
  231. FUNCTION      TMGetProcID(name: Str255): INTEGER;
  232.  
  233. PROCEDURE     TMSetRefCon(hTerm: TermHandle;refCon: LONGINT);
  234. FUNCTION     TMGetRefCon(hTerm: TermHandle): LONGINT;
  235.  
  236. PROCEDURE     TMSetUserData(hTerm: TermHandle;userData: LONGINT);
  237. FUNCTION     TMGetUserData(hTerm: TermHandle): LONGINT;
  238.  
  239. FUNCTION     TMAddSearch(hTerm: TermHandle;theString: Str255;where: Rect;searchType: TMSearchTypes;
  240.             callBack: TerminalSearchCallBackProcPtr): INTEGER;
  241. PROCEDURE     TMRemoveSearch(hTerm: TermHandle;refnum: INTEGER);
  242. PROCEDURE     TMClearSearch(hTerm: TermHandle);
  243.  
  244. FUNCTION      TMGetCursor(hTerm: TermHandle;cursType: TMCursorTypes): Point;
  245.  
  246. FUNCTION      TMGetTermEnvirons(hTerm: TermHandle;VAR theEnvirons: TermEnvironRec): TMErr;
  247.  
  248. FUNCTION     TMChoose(VAR hTerm: TermHandle;where: Point;idleProc: TerminalChooseIdleProcPtr): INTEGER;
  249.  
  250. PROCEDURE     TMEvent(hTerm: TermHandle;theEvent: EventRecord);
  251.  
  252. FUNCTION    TMDoTermKey(hTerm: TermHandle;theKey: Str255): BOOLEAN;
  253. FUNCTION    TMCountTermKeys(hTerm: TermHandle): INTEGER;
  254. PROCEDURE    TMGetIndTermKey(hTerm: TermHandle;id: INTEGER;VAR theKey: Str255);
  255.  
  256. PROCEDURE    TMGetErrorString(hTerm: TermHandle;id: INTEGER;VAR errMsg: Str255);
  257.  
  258.  
  259. {$ENDC} { UsingTerminals }
  260.  
  261. {$IFC NOT UsingIncludes}
  262.  END.
  263. {$ENDC}
  264.  
  265.